package zero.tech.games.mj.data;

import java.util.ArrayList;
import java.util.List;

import zero.tech.games.logic.data.res.ResGameBase;

/**
 * 中途恢复房间数据
 * @author ludry
 *
 */
public class MjResGameBase extends ResGameBase{
	/** 房间状态 4:换牌阶段, 5:打定确定阶段, 6:打牌中 */
	private int roomStatus;
	/** 自己手牌 */
	private List<Integer> cards = new ArrayList<>();
	/** 所有玩家打出去的牌  "1_12,13|玩家id_牌,牌...|.....|" */
	private String outCards;
	/** 所有操作过的牌 //玩家碰杠牌信息  说明：(  玩家id##类型_牌,牌,牌_玩家ID_玩家的位置|.... 类型：2碰,3明杠,4胡,5暗杠,6点杠)$$(类型_牌,牌,牌_玩家ID_玩家的位置|.... 类型：2碰,3明杠,4胡,5暗杠,6点杠) */
	private String ctrlArrs;
	/** 手牌数量 "玩家id_数量|玩家id_数量" */
	private String cardNums;
	/** 庄家id */
	private int hostUid;
	/** 当前操作玩家id */
	private int ctrlUid;
	/** 当前剩余操作时间 */
	private Long ctrlTime;
	/** 当前操作的牌(打到堂子的牌) 定缺或者换牌 默认 -1 */
	private int ctrlCard;
	/** 牌库剩余牌数 */
	private int lastNum;
	/** "玩家id_类型_牌_顺序...|"   胡牌类型： 4胡,7自摸  顺序:胡牌的顺序 */
    private String huState;
    /** 类型(2,3,4)2碰,3明杠,4胡,5暗杠,6点杠，7自摸 "1_12,11|1_12,14|7_11|8"  "类型_牌,牌|类型_牌,牌" 如果是“” 就是自己没有任何操作 */
    private String info;
    /** 当局鬼牌 */
    private List<Integer> guiCards = new ArrayList<>();
	
    /**
     * 房间状态 4:换牌阶段, 5:打定确定阶段, 6:打牌中
     * @return
     */
    public int getRoomStatus() {
		return roomStatus;
	}
    /**
     * 房间状态 4:换牌阶段, 5:打定确定阶段, 6:打牌中
     * @param roomStatus
     */
	public void setRoomStatus(int roomStatus) {
		this.roomStatus = roomStatus;
	}
	/**
	 * 自己手牌
	 * @return
	 */
	public List<Integer> getCards() {
		return cards;
	}
	/**
	 * 自己手牌
	 * @param cards
	 */
	public void setCards(List<Integer> cards) {
		this.cards = cards;
	}
	/**
	 * 所有玩家打出去的牌  "1_12,13|玩家id_牌,牌...|.....|"
	 * @return
	 */
	public String getOutCards() {
		return outCards;
	}
	/**
	 * 所有玩家打出去的牌  "1_12,13|玩家id_牌,牌...|.....|"
	 * @param outCards
	 */
	public void setOutCards(String outCards) {
		this.outCards = outCards;
	}
	/**
	 * 所有操作过的牌 //玩家碰杠牌信息  说明：(  玩家id##类型_牌,牌,牌_玩家ID_玩家的位置|.... 类型：2碰,3明杠,4胡,5暗杠,6点杠)$$(类型_牌,牌,牌_玩家ID_玩家的位置|.... 类型：2碰,3明杠,4胡,5暗杠,6点杠)
	 * @return
	 */
	public String getCtrlArrs() {
		return ctrlArrs;
	}
	/**
	 * 所有操作过的牌 //玩家碰杠牌信息  说明：(  玩家id##类型_牌,牌,牌_玩家ID_玩家的位置|.... 类型：2碰,3明杠,4胡,5暗杠,6点杠)$$(类型_牌,牌,牌_玩家ID_玩家的位置|.... 类型：2碰,3明杠,4胡,5暗杠,6点杠)
	 * @param ctrlArrs
	 */
	public void setCtrlArrs(String ctrlArrs) {
		this.ctrlArrs = ctrlArrs;
	}
	/**
	 * 手牌数量 "玩家id_数量|玩家id_数量"
	 * @return
	 */
	public String getCardNums() {
		return cardNums;
	}
	/**
	 * 手牌数量 "玩家id_数量|玩家id_数量"
	 * @param cardNums
	 */
	public void setCardNums(String cardNums) {
		this.cardNums = cardNums;
	}
	/**
	 * 庄家id
	 * @return
	 */
	public int getHostUid() {
		return hostUid;
	}
	/**
	 * 庄家id
	 * @param hostUid
	 */
	public void setHostUid(int hostUid) {
		this.hostUid = hostUid;
	}
	/**
	 * 当前操作玩家id
	 * @return
	 */
	public int getCtrlUid() {
		return ctrlUid;
	}
	/**
	 * 当前操作玩家id
	 * @param ctrlUid
	 */
	public void setCtrlUid(int ctrlUid) {
		this.ctrlUid = ctrlUid;
	}
	/**
	 * 当前剩余操作时间
	 * @return
	 */
	public Long getCtrlTime() {
		return ctrlTime;
	}
	/**
	 * 当前剩余操作时间
	 * @param ctrlTime
	 */
	public void setCtrlTime(Long ctrlTime) {
		this.ctrlTime = ctrlTime;
	}
	/**
	 * 当前操作的牌(打到堂子的牌) 定缺或者换牌 默认 -1
	 * @return
	 */
	public int getCtrlCard() {
		return ctrlCard;
	}
	/**
	 * 当前操作的牌(打到堂子的牌) 定缺或者换牌 默认 -1
	 * @param ctrlCard
	 */
	public void setCtrlCard(int ctrlCard) {
		this.ctrlCard = ctrlCard;
	}
	/**
	 * 牌库剩余牌数
	 * @return
	 */
	public int getLastNum() {
		return lastNum;
	}
	/**
	 * 牌库剩余牌数
	 * @param lastNum
	 */
	public void setLastNum(int lastNum) {
		this.lastNum = lastNum;
	}
	/**
	 * "玩家id_类型_牌_顺序...|"   胡牌类型： 4胡,7自摸  顺序:胡牌的顺序
	 * @return
	 */
	public String getHuState() {
		return huState;
	}
	/**
	 * "玩家id_类型_牌_顺序...|"   胡牌类型： 4胡,7自摸  顺序:胡牌的顺序
	 * @param huState
	 */
	public void setHuState(String huState) {
		this.huState = huState;
	}
	/**
	 * 类型(2,3,4)2碰,3明杠,4胡,5暗杠,6点杠，7自摸 "1_12,11|1_12,14|7_11|8"  "类型_牌,牌|类型_牌,牌" 如果是“” 就是自己没有任何操作
	 * @return
	 */
	public String getInfo() {
		return info;
	}
	/**
	 * 类型(2,3,4)2碰,3明杠,4胡,5暗杠,6点杠，7自摸 "1_12,11|1_12,14|7_11|8"  "类型_牌,牌|类型_牌,牌" 如果是“” 就是自己没有任何操作
	 * @param info
	 */
	public void setInfo(String info) {
		this.info = info;
	}
	/**
	 * 当局鬼牌
	 * @return
	 */
	public List<Integer> getGuiCards() {
		return guiCards;
	}
	/**
	 * 当局鬼牌
	 * @param guiCards
	 */
	public void setGuiCards(List<Integer> guiCards) {
		this.guiCards = guiCards;
	}
    
    
	
}
